package db;

import org.osoa.sca.annotations.Reference;


public class DataGenerateServiceImpl implements DataGenerateService {
	private static String comOwner = "RealDream";
	private static String contact = "刘林";
	private static String tel = "86411970";
	private static String addr = "二公寓6005";
	private static String zip = "150001";
	private static String email = "kodylau@gmail.com";
	
	DataAccessService dataAccess;
	
	@Reference
	public void setDataAccessService(DataAccessService dataAccess) {
		this.dataAccess = dataAccess;
	}
	
	public void work() {
		genShipComInfo();
		genShipInfo();
		genShipSchedule();
	}
	
	public void genShipComInfo() {			
		String sql;
		
		//船公司信息生成
		for (int i = 1; i <= 9; i++) {
			sql = "insert into ShipComInfo values('ShipCom" + i + "', '船舶运输公司" +
			i + "', '船公司" + i + "', '" + comOwner + "', '1,000,000', '" + comOwner +
			"', '" + addr + "', '" + zip + "', '" + tel + "', '" + tel + "', '" +
			email + "', '中国银行', '8888-8888-8888-8888', '" + contact + 
			"', '出口部门经理', '男', '" + addr + "', '" + tel + "', '" + addr + "', '" +
			tel + "', '" + tel + "')";
			dataAccess.update(sql);
		}
	}
	public void genShipInfo() {
		String sql;
		
		//每个船公司有3条船
		for (int i = 1; i <= 9; i++) {
			for (int j = 1; j <= 3; j++) {
				sql = "insert into ShipInfo values('ShipCom" + i + "_Ship" + j +
				"', '船公司" + i + "船" + j + "', '类型1', 'ShipCom" + i + 
				"', 10000, 50, 1000, 100, 100, 100, '上海船厂', '2009-01-01', 100," +
				"'这是船公司" + i + "的第" + j + "条船。')";
				dataAccess.update(sql);
			}
		}
	}
	public void genShipSchedule() {		
		//航次主键 = 日期 + 船号
		//针对世界集装箱海运干线编制数据
		
		//远东--北美航线，船公司1
		dataAccess.update("insert into ShipSchedule values('2009-06-01_ShipCom1_Ship1', " +
				"'远东--北美', 'ShipCom1_Ship1', '大连', '洛杉矶', 'N', '2009-06-01', " +
				"'2009-06-07', '船公司1的船1在2009年6月1日由大连驶向洛杉矶。')");
		dataAccess.update("insert into ShipSchedule values('2009-06-03_ShipCom1_Ship2', " +
				"'远东--北美', 'ShipCom1_Ship2', '青岛', '迈阿密', 'Y', '2009-06-03', " +
				"'2009-06-09', '船公司1的船2在2009年6月3日由青岛驶向迈阿密。')");
		dataAccess.update("insert into ShipSchedule values('2009-06-05_ShipCom1_Ship3', " +
				"'远东--北美', 'ShipCom1_Ship3', '威海', '北海道', 'Y', '2009-06-05', " +
				"'2009-06-11', '船公司1的船3在2009年6月5日由威海驶向北海道。')");
		
		//北美--欧洲航线，船公司2
		dataAccess.update("insert into ShipSchedule values('2009-06-02_ShipCom2_Ship1', " +
				"'北美--欧洲', 'ShipCom2_Ship1', 'Boston, US', 'Boston, UK', 'Y', '2009-06-02', " +
				"'2009-06-08', '船公司2的船1在2009年6月2日由波士顿驶向波士顿。')");
		dataAccess.update("insert into ShipSchedule values('2009-06-04_ShipCom2_Ship2', " +
				"'北美--欧洲', 'ShipCom2_Ship2', 'Chicago', 'Amsterdam', 'Y', '2009-06-04', " +
				"'2009-06-10', '船公司2的船2在2009年6月4日由芝加哥驶向阿姆斯特丹。')");
		dataAccess.update("insert into ShipSchedule values('2009-06-06_ShipCom2_Ship3', " +
				"'北美--欧洲', 'ShipCom2_Ship3', 'Dallas', 'Kiev', 'Y', '2009-06-06', " +
				"'2009-06-12', '船公司2的船3在2009年6月6日由达拉斯驶向基辅。')");
		
		//远东--澳大利亚航线，船公司3
		dataAccess.update("insert into ShipSchedule values('2009-06-07_ShipCom3_Ship1', " +
				"'远东--澳大利亚', 'ShipCom3_Ship1', 'Shanghai', 'Sydney', 'N', '2009-06-07', " +
				"'2009-06-13', '船公司3的船1在2009年6月7日由上海驶向悉尼。')");
		dataAccess.update("insert into ShipSchedule values('2009-06-09_ShipCom3_Ship2', " +
				"'远东--澳大利亚', 'ShipCom3_Ship2', 'Tianjin', 'Brisbane', 'N', '2009-06-09', " +
				"'2009-06-15', '船公司3的船2在2009年6月9日由天津驶向布里斯班。')");
		dataAccess.update("insert into ShipSchedule values('2009-06-11_ShipCom3_Ship3', " +
				"'远东--澳大利亚', 'ShipCom3_Ship3', 'Guangzhou', 'Auckland', 'N', '2009-06-11', " +
				"'2009-06-17', '船公司3的船3在2009年6月11日由广州驶向奥克兰。')");
		
		//欧洲--远东航线，船公司4
		dataAccess.update("insert into ShipSchedule values('2009-06-08_ShipCom4_Ship1', " +
				"'欧洲--远东', 'ShipCom4_Ship1', '鹿特丹', '秦皇岛', 'Y', '2009-06-08', " +
				"'2009-06-14', '船公司4的船1在2009年6月8日由鹿特丹驶向秦皇岛。')");
		dataAccess.update("insert into ShipSchedule values('2009-06-10_ShipCom4_Ship2', " +
				"'欧洲--远东', 'ShipCom4_Ship2', '汉堡', '深圳', 'Y', '2009-06-10', " +
				"'2009-06-16', '船公司4的船2在2009年6月10日由汉堡驶向深圳。')");
		dataAccess.update("insert into ShipSchedule values('2009-06-12_ShipCom4_Ship3', " +
				"'欧洲--远东', 'ShipCom4_Ship3', '安特卫普', '厦门', 'N', '2009-06-12', " +
				"'2009-06-18', '船公司4的船3在2009年6月12日由安特卫普驶向厦门。')");
		
		//澳大利亚--北美航线，船公司5
		dataAccess.update("insert into ShipSchedule values('2009-06-13_ShipCom5_Ship1', " +
				"'澳大利亚--北美', 'ShipCom5_Ship1', 'Adelaide', 'Atlanta', 'N', '2009-06-13', " +
				"'2009-06-19', '船公司5的船1在2009年6月13日由阿德莱德驶向亚特兰大。')");
		dataAccess.update("insert into ShipSchedule values('2009-06-15_ShipCom5_Ship2', " +
				"'澳大利亚--北美', 'ShipCom5_Ship2', 'Bell Bay', 'Baltimore', 'N', '2009-06-15', " +
				"'2009-06-21', '船公司5的船2在2009年6月15日由贝尔湾驶向巴尔的摩。')");
		dataAccess.update("insert into ShipSchedule values('2009-06-17_ShipCom5_Ship3', " +
				"'澳大利亚--北美', 'ShipCom5_Ship3', 'Fremantle', 'Houston', 'N', '2009-06-17', " +
				"'2009-06-23', '船公司5的船3在2009年6月17日由弗里曼特尔驶向休斯敦。')");
		
		//北美--地中海航线，船公司6
		dataAccess.update("insert into ShipSchedule values('2009-06-14_ShipCom6_Ship1', " +
				"'北美--地中海', 'ShipCom6_Ship1', '坎布里奇', '巴塞罗那', 'Y', '2009-06-14', " +
				"'2009-06-20', '船公司6的船1在2009年6月14日由坎布里奇驶向巴塞罗那。')");
		dataAccess.update("insert into ShipSchedule values('2009-06-16_ShipCom6_Ship2', " +
				"'北美--地中海', 'ShipCom6_Ship2', '查尔斯顿', '马赛', 'Y', '2009-06-16', " +
				"'2009-06-22', '船公司6的船2在2009年6月16日由查尔斯顿驶向马赛。')");
		dataAccess.update("insert into ShipSchedule values('2009-06-18_ShipCom6_Ship3', " +
				"'北美--地中海', 'ShipCom6_Ship3', '夏洛特', '巴伦西亚', 'Y', '2009-06-18', " +
				"'2009-06-24', '船公司6的船2在2009年6月18日由夏洛特驶向巴伦西亚。')");
		
		//地中海--远东航线，船公司7
		dataAccess.update("insert into ShipSchedule values('2009-06-19_ShipCom7_Ship1', " +
				"'地中海--远东', 'ShipCom7_Ship1', '热那亚', '香港', 'Y', '2009-06-19', " +
				"'2009-06-25', '船公司7的船1在2009年6月19日由热那亚驶向香港。')");
		dataAccess.update("insert into ShipSchedule values('2009-06-21_ShipCom7_Ship2', " +
				"'地中海--远东', 'ShipCom7_Ship2', '比萨', '高雄', 'Y', '2009-06-21', " +
				"'2009-06-27', '船公司7的船2在2009年6月21日由比萨驶向高雄。')");
		dataAccess.update("insert into ShipSchedule values('2009-06-23_ShipCom7_Ship3', " +
				"'地中海--远东', 'ShipCom7_Ship3', '突尼斯', '基隆', 'Y', '2009-06-23', " +
				"'2009-06-29', '船公司7的船3在2009年6月21日由突尼斯驶向基隆。')");
		
		//欧洲--南非航线，船公司8
		dataAccess.update("insert into ShipSchedule values('2009-06-20_ShipCom8_Ship1', " +
				"'欧洲--南非', 'ShipCom8_Ship1', '不莱梅', '开普敦', 'N', '2009-06-20', " +
				"'2009-06-26', '船公司8的船1在2009年6月20日由不莱梅驶向开普敦。')");
		dataAccess.update("insert into ShipSchedule values('2009-06-22_ShipCom8_Ship2', " +
				"'欧洲--南非', 'ShipCom8_Ship2', '勒加弗尔', '德班', 'N', '2009-06-22', " +
				"'2009-06-28', '船公司8的船2在2009年6月22日由勒加弗尔驶向德班。')");
		dataAccess.update("insert into ShipSchedule values('2009-06-24_ShipCom8_Ship3', " +
				"'欧洲--南非', 'ShipCom8_Ship3', '南安普顿', '伊丽莎白', 'N', '2009-06-24', " +
				"'2009-06-30', '船公司8的船3在2009年6月24日由南安普顿驶向伊丽莎白。')");
		
		//地中海--西非航线，船公司9
		dataAccess.update("insert into ShipSchedule values('2009-06-25_ShipCom9_Ship1', " +
				"'地中海--西非', 'ShipCom9_Ship1', '黎波里', '达喀尔', 'Y', '2009-06-25', " +
				"'2009-07-01', '船公司9的船1在2009年6月25日由黎波里驶向达喀尔。')");
		dataAccess.update("insert into ShipSchedule values('2009-06-27_ShipCom9_Ship2', " +
				"'地中海--西非', 'ShipCom9_Ship2', '雅典', '班珠尔', 'Y', '2009-06-27', " +
				"'2009-07-03', '船公司9的船2在2009年6月27日由雅典驶向班珠尔。')");
		dataAccess.update("insert into ShipSchedule values('2009-06-29_ShipCom9_Ship3', " +
				"'地中海--西非', 'ShipCom9_Ship3', '那不勒斯', '蒙罗维亚', 'Y', '2009-06-29', " +
				"'2009-07-05', '船公司9的船3在2009年6月29日由那不勒斯驶向蒙罗维亚。')");
	}
}
